我們在 如何在 Visual Studio Code 內設定與使用 GitHub Copilot 這篇文章中,曾以簡單範例呈現 GitHub Copilot Chat 功能。在本篇與下一篇文章,我們將完整說明 GitHub Copilot Chat 功能與各種使用範例。
GitHub Copilot Chat 執行流程大致上可以分成下列幾個階段
Copilot Chat 系統取得使用者輸入資訊進行預先處理,並產生輸入提示(input prompt)。使用者可以採用程式碼片段或口語形式,且限制只能詢問資訊技術問題。
在此階段,語言模型分析上一個步驟產生的輸入提示 (input prompt),並藉此產生回覆。回覆內容可能為程式碼、程式碼建議或說明。
Copilot Chat 將產生的回覆格式化並呈現給使用者。 其中可能包含語法醒目提示、縮排和其他格式化功能來增加回覆內容的清楚性。 除此之外,還可以提供模型在產生回應時使用的內容連結,如原始程式碼檔案或文件。
理所當然,回覆內容可能不是使用者的想要的答案。請記得它是 Copilot (副駕駛),使用者才是 pilot (駕駛員):使用者是需要 review 並確認內容是否適當,
使用者可以透過快速檢視 (Quick View) 或 聊天檢視 (Chat View) 方式開啟對話框與 GitHub Copilot 互動。快速檢視 好處在於會參考前後文;聊天檢視 則需要透過選擇程式碼範圍、斜線命令或指定內容等操作來做為參考內容。
在 Visual Studio Code 內 Quick View 可以透過 Ctrl + I 或 Ctrl + Shift + I 快速開啟
也能透過滑鼠右鍵 > Copilot > 在編輯器啟動 開啟 Quick View
在 Visual Studio Code 內 Chat View 可以延伸模組快捷鍵或 右下角 GitHub Copilot Icon 透過開啟
我們可以 如何在 Visual Studio Code 內設定與使用 GitHub Copilot 這邊文章中引用的官方範例,來嘗試使用 GitHub Copilot Chat。使用這可以隨意選取一段程式碼,直接詢問問題:請說明這段程式碼作用?
或者是請 GitHub Copilot 協助給予建議並調整程式,詢問:我如何更新這段程式碼,確保不會有重複的數字
透過 Chat View,使用者可以詢問廣泛性的問題,像是 Python 語言優勢。您也能像 Quick View,先選取一段程式碼,請 GitHub Copilot Chat 進行說明或給予建議,差別在於 Chat View 不會將程式碼直接填寫上去,而是在 Chat View 中顯示,使用者需要自行複製、貼上並調整內容,以符合目前程式碼內容。除此之外,在使用過程中,個人經常會思考一個問題:我可以請 GitHub Copilot 給我那些建議?
有時候使用 Qucik Chat 與 Chat View 問相同的問題會得到不同的答案,在下方案例,我們詢問相同的問題,但卻出現不同的結果。有一說法是兩種詢問方式背後使用的模型不同,也有說法是不同的時空背景會產生不同建議是正常的。這部分我們暫時沒去探究,只是先讓讀者知道這件事情。
有經驗的使用者可能有感受到與 什麼是 Prompt Engineering 章節所到相同,如何給予好的提示與樣本有時候相當不容易。在下一章節,我們將進階說明 GitHub Copilot Chat 中的提示建構,包含聊天參與者 @、斜線命令 / 與 聊天變數 # 的使用方法,讓使用者可以簡化且明確給 Copilot 的提示,更準確地取得想要的建議。